home *** CD-ROM | disk | FTP | other *** search
- /* DEC/CMS REPLACEMENT HISTORY, Element DECWDRM.H */
- /* *8 27-FEB-1988 17:25:59 GEORGE "Cleanup copyrights" */
- /* *7 24-FEB-1988 18:49:03 FANEUF "FT version" */
- /* *6 5-FEB-1988 14:01:37 FANEUF "Fix compilation errors by using ifdef/ifndef VAXC" */
- /* *5 28-JAN-1988 13:07:57 FANEUF "Fix typo in DRMERROR protos, add them to UNIX" */
- /* *4 27-JAN-1988 15:52:40 FANEUF "Literals to support improved error handling" */
- /* *3 19-JAN-1988 17:14:38 FANEUF "" */
- /* *2 7-JAN-1988 19:55:44 ORGOVAN "Replace with completely new version" */
- /* *1 7-JAN-1988 19:44:01 ORGOVAN "Initial Entry" */
- /* DEC/CMS REPLACEMENT HISTORY, Element DECWDRM.H */
- /*
- *=======================================================================
- *
- * COPYRIGHT (c) 1987 BY
- * DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
- * ALL RIGHTS RESERVED
- *
- * THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
- * ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE
- * INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER
- * COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
- * OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY
- * TRANSFERRED.
- *
- * THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
- * AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
- * CORPORATION.
- *
- * DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
- * SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
- *
- *=======================================================================
- *
- * FILE HISTORY
- *=======================================================================
- * 1-000 - Original RAF
- * 1-001 - Changed DRMReadAccess to 0. DJM 10-Dec-1987.
- * 1-002 - Changed DRMReadAccess to 1, DRMWriteAccess to 2.
- * Added NULL, TRUE, FALSE to definitions. RAF 10-Dec-1987
- * 1-003 - Add external references to VM zone ids. DJM 10-Dec-1987
- * 1-004 - Make zone ID's constants. DJM 11-Dec-1987.
- * 1-005 - Redefined groups. Added context macros. RAF 11-Dec-1987.
- * 1-006 - Add operating specific OPEN parameter. DJM 29-Dec-1987.
- */
-
- #define decwdrm_h 1
- #ifdef VAXC
- #pragma nomember_alignment
- #endif
-
- /*
- * This file defines all literals and structs required both to use
- * DRM externally, and to support internal DRM programming. Any struct
- * referenced in a publicly accessible routine is defined here, including
- * some IDB and hierarchy structs.
- */
-
-
- /*
- * Extended language functions
- */
-
- /*
- ** The PCC counterpart to extern is globalref/globaldef.
- ** Define external and externaldef so they work correctly
- ** on the 2 compilers.
- */
-
-
- #ifndef externaldef
- #ifdef VAXC
- #define external globalref
- #define externaldef
- #else
- #define external extern
- #define externaldef
- #endif
- #endif
-
-
-
- /*
- * covers for things defined elsewhere
- */
-
- /*
- * From DECWDWTAPPLPROG.h
- */
- #ifndef WIDGETPROG
- #ifndef APPLPROG
- typedef unsigned int Widget;
- typedef char *String;
- #endif
- #endif
-
- /*
- * From INTRINSIC.h
- */
- #ifndef _XtIntrinsic_h
-
- typedef unsigned int Cardinal;
- typedef char Boolean;
- typedef char *WidgetClass ; /* fake pointer def */
- typedef unsigned long Pixel;
- #endif
-
- /*
- * From XRESOURCE.h
- */
- #ifndef CADDR_T
- typedef char * caddr_t;
- #define CADDR_T
- #endif
-
- /*
- * From X.h
- */
- #ifndef X_H
- typedef unsigned long Pixmap ;
- typedef unsigned long Colormap ;
- #endif
-
- #ifndef NULL
- #define NULL 0
- #endif
-
- #ifndef TRUE
- #define TRUE 1
- #endif
-
- #ifndef FALSE
- #define FALSE 0
- #endif
-
- #ifndef MIN
- #define MIN(x,y) ((x) < (y) ? (x) : (y))
- #endif
- #ifndef MAX
- #define MAX(x,y) ((x) > (y) ? (x) : (y))
- #endif
-
- #ifndef ASSIGN_MAX
- #define ASSIGN_MAX(x, y) if ((y) > (x)) x = (y)
- #endif
- #ifndef ASSIGN_MIN
- #define ASSIGN_MIN(x, y) if ((y) < (x)) x = (y)
- #endif
-
-
-
- /*
- * DRM-wide constants
- */
-
- /*
- * Success or other non-error return codes
- */
- #define DRMSuccess 1
- #define DRMCreateNew 3
- #define DRMIndexRetry 5 /* Retry on entering index required */
- #define DRMIndexGT 7 /* Index orders greater-than entry */
- #define DRMIndexLT 9 /* Index orders less-than entry */
-
- /*
- * Failure return codes
- */
- #define DRMFailure 0
- #define DRMNotFound 2
- #define DRMExists 4
- #define DRMNulGroup 6
- #define DRMNulType 8
- #define DRMWrongGroup 10
- #define DRMWrongType 12
- #define DRMOutOfRange 14 /* Record number too big */
- #define DRMBadRecord 16 /* Record number wrong type */
- #define DRMNullData 18 /* No data for entry */
- #define DRMBadDataIndex 20 /* Data index in RID out of range */
- #define DRMBadOrder 22 /* Bad ordering specifier */
- #define DRMBadContext 24 /* Invalid DRM context */
- #define DRMNotValid 26 /* Validation failure */
- #define DRMBadBTree 28 /* GT/LT pointer error in BTree */
- #define DRMBadWidgetRec 30 /* Validation failure on widget record */
- #define DRMBadClassType 32 /* Class type not a valid DRMwc... value */
- #define DRMNoClassName 34 /* User class name is null */
- #define DRMTooMany 36 /* Too many entries requested in some list */
- #define DRMBadIFModule 38 /* invalid interface module */
- #define DRMNullDesc 40 /* Arglist or children descriptor null */
- #define DRMOutOfBounds 42 /* Argument index out of arglist bounds */
- #define DRMBadCompress 44 /* Invalid compression code */
- #define DRMBadArgType 46 /* Invalid type, not in RGMrType... */
- #define DRMNotImp 48 /* Not yet implemented */
- #define DRMNullIndex 50 /* empty index string */
- #define DRMBadKeyType 52 /* key must be DRMrIndex or DRMrRID */
- #define DRMBadCallback 54 /* Invalid callback descriptor */
- #define DRMNullRoutine 56 /* Empty callback routine name string */
- #define DRMVecTooBig 58 /* too many elements in vector */
- #define DRMBadHierarchy 60 /* invalid DRM file hierarchy */
- #define DRMBadClassCode 62 /* Class code not found in DRMwc... */
- #define DRMBadMsgType 64 /* Message type not in RGMmt... */
- #define DRMBadMessage 66 /* Message record invalid */
-
- /*
- * Error reporting destinations
- */
- #define DRMErrOutMemory 1 /* Save error messages in memory, no print */
- #define DRMErrOutStdout 2 /* print error messages to stdout */
-
- /*
- * Memory allocation zone id's
- */
- #define DRMcBufferZone 1
- #define DRMcWidgetZone 2
- #define DRMcMiscZone 3
-
-
- /*
- * Resource classes and types
- */
- #define DRMgNul 0
- #define DRMgWidget 1 /* types in DRMwc... */
- #define DRMgLiteral 2 /* types in RGMrType... */
- #define DRMgResourceSet 3 /* type in DRMrs... */
- #define DRMgXRM 4
- #define DRMgMessage 5
-
- #define DRMgMin 1 /* lowest legal group value */
- #define DRMgMax 5 /* highest legal group value */
- #define DRMgVecSize DRMgMax+1 /* To size any vectors */
-
- /*
- * The null resource type
- */
- #define DRMtNul 0
-
-
- /*
- * Access types
- */
- #define DRMaPublic 1
- #define DRMaPrivate 2
-
- /*
- * Index types. Immediate is included for the convenience of the UIL compiler
- */
- #define DRMrIndex 1
- #define DRMrRID 2
- #define DRMrImmediate 3
-
- /*
- * Maximum number of characters in an index
- */
- #define DRMMaxIndexLen 31
- #define DRMMaxIndexLen1 (DRMMaxIndexLen + 1) /* to size vectors */
-
-
- /*
- * File open access types
- */
- #define DRMReadAccess 1
- #define DRMWriteAccess 2
-
- /*
- * Standard file type for DRM database files
- */
- #define DRMFileType ".UID"
-
-
- /*
- * Compressed string codes
- */
- #ifndef decwdrmcompress_h
- #include <decw$include/DECwDrmCompress.h>
- #endif
-
-
- /*
- * Standard date string length
- */
- #define DRMhsDate 29 /* any date string */
-
-
- /*
- * Statistics/timing state
- */
- #define DRMStatNone 0 /* no statistics */
- #define DRMStatDRMOnly 1 /* allow DRM events only */
- #define DRMStatAll 2 /* allow all events */
-
-
-
- /*
- * Definitions associated with widget representations
- */
-
- /*
- * Widget types. These name all builtin toolkit and SDT widgets. The
- * existence of an entry here is determined by the existence of a
- * unique low-level creation routine for the widget. DRM defines a
- * distinct class for each instance of a low-level create routine.
- *
- */
-
- #define DRMwcMin 1 /* minimum legal value */
- #define DRMwcUnknown 1 /* Not a built-in */
-
- /*
- * Toolkit widgets
- */
- #define DRMwcLabel 2
- #define DRMwcPushButton 3
- #define DRMwcToggleButton 4
- #define DRMwcDialogBox 5
- #define DRMwcDialogBoxPopup 6
- #define DRMwcMenuBar 7
- #define DRMwcOptionMenu 8
- #define DRMwcRadioBox 9
- #define DRMwcWorkAreaMenu 10
- #define DRMwcPulldownMenu 11
- #define DRMwcPopupMenu 12
- #define DRMwcPulldownMenuEntry 13
- #define DRMwcScrollBar 14
- #define DRMwcListBox 15
- #define DRMwcMainWindow 16
- #define DRMwcCommandWindow 17
- #define DRMwcMessageBox 18
- #define DRMwcFileSelect 19
- #define DRMwcCautionBox 20
- #define DRMwcScale 21
- #define DRMwcWorkBox 22
- #define DRMwcSeparator 23
- #define DRMwcPane 24
- #define DRMwcColorSelect 25
- #define DRMwcSText 26
- #define DRMwcText 27
- #define DRMwcWindow 28
- #define DRMwcScrollWindow 29
-
- /*
- * SDT widgets
- */
-
- /*
- * Maximum legal value and vector size
- */
- #define DRMwcMax 29
- #define DRMwcVecSize (DRMwcMax+1)
-
-
-
- /*
- * RGM definitions of widget class names
- */
- /*
- * Toolkit widgets
- */
- #define DRMwcnLabel "Label"
- #define DRMwcnPushButton "Push Button"
- #define DRMwcnToggleButton "Toggle Button"
- #define DRMwcnDialogBox "Dialog Box"
- #define DRMwcnDialogBoxPopup "Popup Dialog Box"
- #define DRMwcnMenuBar "Menu Bar"
- #define DRMwcnOptionMenu "Option Menu"
- #define DRMwcnRadioBox "Radio Box"
- #define DRMwcnWorkAreaMenu "Work Area Menu"
- #define DRMwcnPulldownMenu "Pulldown Menu"
- #define DRMwcnPopupMenu "Popup Menu"
- #define DRMwcnPulldownMenuEntry "Pulldown Menu Entry"
- #define DRMwcnScrollBar "Scroll Bar"
- #define DRMwcnListBox "List Box"
- #define DRMwcnMainWindow "Main Window"
- #define DRMwcnCommandWindow "Command Window"
- #define DRMwcnMessageBox "Message Box"
- #define DRMwcnFileSelect "File Select"
- #define DRMwcnCautionBox "Caution Box"
- #define DRMwcnScale "Scale"
- #define DRMwcnWorkBox "Work Box"
- #define DRMwcnSeparator "Separator"
- #define DRMwcnPane "Pane"
- #define DRMwcnColorSelect "Color Select"
- #define DRMwcnSText "Simple Text"
- #define DRMwcnText "Text"
- #define DRMwcnWindow "Window"
- #define DRMwcnScrollWindow "Scroll Window"
-
- /*
- * SDT widgets
- */
-
-
-
-
- /*
- * The following define the representation type in widget arglist
- * arguments, i.e. specify the actual representation of values
- * in an argument. A subset of these is used to define literal types
- * for RGMgLiteral resources.
- */
- #define RGMrTypeMin 1
- #define RGMrTypeInteger 1 /* int */
- #define RGMrTypeBoolean 2
- #define RGMrTypeChar8 3 /* a nul-terminated string */
- #define RGMrTypeChar8Vector 4 /* a vector of char_8 strings */
- #define RGMrTypeDDISitem 5
- #define RGMrTypeDDISitemVector 6
- #define RGMrTypeFloat 7
- #define RGMrTypeCompressed 8 /* code for a compressed string */
- #define RGMrTypeCallback 9 /* code for a callback descriptor */
- #define RGMrTypePixmapImage 10 /* Pixmap in image form */
- #define RGMrTypePixmapDDIF 11 /* Pixmap in DDIF form */
- #define RGMrTypeResource 12 /* DRM resource descriptor */
- #define RGMrTypeNull 13 /* no value given */
- #define RGMrTypeAddrName 14 /* nul-terminated string to be
- interpreted as runtime address */
- #define RGMrTypeBitmapImage 15 /* DWICS/DRM bitmap image */
- #define RGMrTypeMax 15
-
-
- /*
- * Types of resource sets.
- */
- #define DRMrsInterfaceModule 1 /* Interface module */
-
-
- /*
- * The maximum number of arguments allowed in an arglist or children in
- * a child list. A number intended to catch gross errors.
- */
- #define RGMListSizeMax 1000
-
-
- /*
- * Message types
- */
- #define RGMmtType1 1 /* Type 1 message (first defined) */
-
- /*
- * Message severity levels. These are identical to VMS definitions...
- */
- #define RGMmsWarn 0
- #define RGMmsSuccess 1
- #define RGMmsError 2
- #define RGMmsInfor 3
- #define RGMmsFatal 4
-
-
-
- /*
- * DRM typedefs
- */
-
- /*
- * DRM primitive types
- */
- typedef short int DRMCode ; /* Used for codes, e.g. DRMcr... */
- typedef short int DRMOffset ; /* Used for offsets in records */
- typedef short int DRMType ; /* Used for types, e.g. DRMrType... */
- typedef short int DRMSize ; /* For size fields */
- typedef short int DRMCount ; /* For counter fields */
- typedef unsigned char DRMFlag ; /* flag fields */
- typedef long int DRMResource_id ; /* Resource id in IDB files */
- typedef short int DRMGroup ; /* For DRM resource groups */
-
-
-
- /*
- * DRM Resource context
- *
- * The following context structure is provided by DRM to cover all memory
- * management of in-memory resources. This mechanism provides:
- * o improved memory management efficiency through buffer re-use
- * o collection of resource attributes in one place
- * o support for non-standard allocation routines
- */
- #define DRMResourceContextValid 232570204
- typedef struct {
- unsigned validation ; /* validation code =
- DRMResourceContextValid */
- char *data_buffer ; /* pointer to data buffer in memory */
- DRMSize buffer_size ; /* number of bytes in buffer */
- DRMSize resource_size ; /* number of bytes used by resource */
- DRMGroup group ; /* resource group */
- DRMType type ; /* resource type */
- DRMCode access ; /* DRMaPrivate or DRMaPublic */
- DRMCode lock ; /* resource locking code */
- char *((*alloc_func) ()) ; /* memory allocation func */
- int (*free_func) () ; /* deallocation func */
- DRMCode err_report ; /* error reporting style, from
- DRMRCError... */
- DRMCode err_code ; /* current error code */
- String err_stg ; /* current error string */
- } DRMResourceContext, *DRMResourceContextPtr ;
-
-
- /*
- * Validation macro, returns TRUE/FALSE
- */
- #define DwtDrmRCValid(context) ((context)->validation==DRMResourceContextValid)
-
-
- /*
- * The following are accessor macros for a resource context
- */
- #define DwtDrmRCBuffer(context) ((context)->data_buffer)
- #define DwtDrmRCSize(context) ((context)->resource_size)
- #define DwtDrmRCGroup(context) ((context)->group)
- #define DwtDrmRCType(context) ((context)->type)
- #define DwtDrmRCAccess(context) ((context)->access)
- #define DwtDrmRCLock(context) ((context)->lock)
- #define DwtDrmRCErrRpt(context) ((context)->err_report)
- #define DwtDrmRCErrCod(context) ((context)->err_code)
- #define DwtDrmRCErrStg(context) ((context)->err_stg)
-
-
- /*
- * The following are modifiers for a resource context
- */
- #define DwtDrmRCSetSize(context,sizval) {(context)->resource_size=(sizval);}
- #define DwtDrmRCSetGroup(context,grpval) {(context)->group=(grpval);}
- #define DwtDrmRCSetType(context,typval) {(context)->type=(typval);}
- #define DwtDrmRCSetAccess(context,accval) {(context)->access=(accval);}
- #define DwtDrmRCSetLock(context,lckval) {(context)->lock=(lckval);}
- #define DwtDrmRCSetErrRpt(context,code) {(context)->err_report=(code);}
-
-
- /*
- * Error reporting states
- */
- #define DRMRCErrorDefault 1 /* default - report on line */
- #define DRMRCErrorSave 2 /* save error, don't report */
-
-
-
- /*
- * DRM pointer list
- *
- * The following structure is inspired by resource contexts, but is used
- * to store lists of pointers. Its supporting routines automatically manage
- * space in the same the context routines do. Since this is used only
- * internally, no validation is provided.
- */
-
- typedef struct {
- DRMCount num_slots ; /* number of available pointer slots */
- DRMCount num_ptrs ; /* number of slots actually used */
- caddr_t *ptr_vec ; /* pointer slot vector */
- } DRMPointerList, *DRMPointerListPtr ;
-
-
- /*
- * Accessors for the list or a pointer in the list
- */
- #define DwtDrmPlistPtrList(list) ((list)->ptr_vec)
- #define DwtDrmPlistNum(list) ((list)->num_ptrs)
- #define DwtDrmPlistPtrN(list,ndx) ((list)->ptr_vec[ndx])
-
-
-
- /*
- * IDB definitions in common use. The principal one is IDBFile; others
- * are included to make that definition valid.
- */
-
- /*
- * Record type definitions - IDBrt...
- */
- #define IDBrtMin 1
- #define IDBrtHeader 1
- #define IDBrtIndexLeaf 2
- #define IDBrtIndexNode 3
- #define IDBrtRIDMap 4
- #define IDBrtData 5
- #define IDBrtMax 5
- #define IDBrtVecSize 6
-
-
- /*
- * Record number. 65k should be enough...
- */
- typedef short int IDBRecordNumber ;
-
-
- /*
- * A resource ID consists of the resource map index and the ID index
- * in the given resource map.
- */
- typedef short int IDBResourceIndex ;
- typedef union {
- unsigned external_id ; /* Looks like a fullword */
- struct {
- IDBResourceIndex map_index ; /* resource map index */
- IDBResourceIndex res_index ; /* resource index into map */
- } internal_id ; /* 2 fields internally */
- } IDBridDesc ;
-
- /*
- * A resource ID passed by value in a fullword.
- */
- typedef unsigned IDBResource ; /* a declaration for RIDs
- passed by value */
-
-
- /*
- * IDB open file information
- *
- * The following is the information retained by IDB for an open file.
- * Much of this information matches that found in the file header,
- * and is the source of for that info when the header is updated.
- */
-
- #define IDBOpenFileValid 421642674
- typedef struct {
- unsigned validation ; /* validation code =
- IDBOpenFileValid */
- int get_count ; /* # get operations on file */
- int put_count ; /* # put operations on file */
- DRMCode access ; /* DRMReadAccess or
- DRMWriteAccess */
- unsigned int lowlevel_id ; /* open file id returned
- by low-level routines */
- IDBRecordNumber index_root ; /* index root pointer */
- DRMCount num_indexed ; /* # entries in index */
- DRMCount num_RID ; /* # RID entries in file */
- IDBridDesc next_RID ; /* next available RID */
- IDBRecordNumber last_record ; /* last record used in file */
- IDBRecordNumber last_data_record ; /* last data record in file.
- NULL if no records yet */
- DRMCount RID_maps_count ; /* number of entry in
- RID_maps vector */
- IDBRecordNumber *RID_maps ; /* Pointer to vector
- of RID index map records */
- DRMCount group_counts[DRMgVecSize] ;
- /* vector of record counts
- by resource group */
- DRMCount rt_counts[IDBrtVecSize] ;
- /* vector of record counts by
- record type (statistics) */
- unsigned long timer ; /* for statistics */
- } IDBOpenFile, *IDBFile ;
-
-
-
- /*
- * Operating System specific parameter struct. Passed to low level
- * file OPEN.
- */
- #define IDBOSOpenParamVersion 1
- typedef struct {
- /*
- * The version of this structure. Set to IDBOSOpenParamVersion
- */
- Cardinal version; /* Both VMS and Ultrix */
- /*
- * The default name, to be placed in FAB$L_DNA for RMS use.
- */
- char *default_fname; /* VMS Only */
- /*
- * The related name, to be placed in NAM$L_RLF for RMS use.
- * Flag for Ultrix file clobber (1 means OK to clobber)
- */
- union {
- unsigned long related_nam; /* VMS only */
- Boolean clobber_flg; /* Ultrix only */
- } nam_flg;
-
- } IDBOSOpenParam, *IDBOSOpenParamPtr ;
-
-
-
- /*
- * Open hierarchy struct
- *
- * The following structure represents an open DRM hierarchy. A hierarchy
- * is principally a list of open IDB files in search order. As an aid to
- * efficient searching, a list of files by resource group is also kept.
- * Each entry in the list is the subset of the files in the hierarchy
- * which contains resources in the corresponding group.
- *
- * All memory for the lists is acquired with DwtDrm__UT_Malloc.
- */
-
- #define DRMHierarchyValid 102214835
- typedef struct {
- unsigned validation ; /* DRMHierarchyValid */
- DRMCount num_file ; /* number of files open */
- IDBFile *file_list ; /* list of open files */
- DRMCount grp_num[DRMgVecSize] ; /* vector of file counts by
- resource group */
- IDBFile *grp_ids[DRMgVecSize] ; /* vectors of file ids by
- resource group */
- } DRMHierarchyDesc, *DRMHierarchy ;
-
-
- /*
- * Validation macro
- */
- #define DwtDrmHierarchyValid(hierarchy) \
- ((hierarchy)->validation==DRMHierarchyValid)
-
-
-
- /*
- * RGM widget record typedefs
- */
-
- /*
- * RGM Widget record. All offset are relative to the beginning of the record
- */
- #define DRMWidgetRecordValid 373946338
- typedef struct {
- unsigned validation ; /* validation code =
- DRMWidgetRecordValid */
- DRMSize size ; /* Total number of bytes for record */
- DRMCode access ; /* DRMaPublic or DRMaPrivate */
- DRMCode lock ; /* locking code */
- DRMType type ; /* widget type, equates to class
- for toolkit widgets. A member of the
- DRMwc... enumeration */
- DRMOffset name_offs ; /* Offset of widget name. Locates a
- String. An empty string is illegal */
- DRMOffset class_offs ; /* Offset of class name. The class name
- is required for application-defined
- widgets. */
- DRMOffset arglist_offs ; /* Offset of arglist descriptor. Locates
- a RGMArgListDesc struct */
- DRMOffset children_offs ; /* Offset of children descriptor.
- Locates a RGMChildrenDesc struct */
- DRMOffset comment_offs ; /* Offset of comment string for
- this widget. (DRM extension) */
- DRMOffset creation_offs ; /* Offset of RGMCallBackDesc struct
- specifying DRM creation callback
- for this widget */
- } RGMWidgetRecord, *RGMWidgetRecordPtr ;
-
- /*
- * Size of the header part of the record
- */
- #define RGMWidgetRecordHdrSize sizeof(RGMWidgetRecord)
-
- /*
- * Macro to access the widget record in a context
- */
- #define DwtDrmWRWidgetRec(context) \
- ((RGMWidgetRecordPtr) DwtDrmRCBuffer(context))
-
-
- /*
- * All validation, accessor, and setting macros access a widget record in
- * a context. They all take a pointer to the widget record, which is
- * the context buffer CAST to RGMWidgetRecordptr.
- */
- #define DwtDrmWRValid(widgetrec) \
- ((widgetrec)->validation==DRMWidgetRecordValid)
-
- /*
- * Accessor macros for the widget record header
- */
- #define DwtDrmWRPSize(context) (DwtDrmWRWidgetRec(context)->size)
- #define DwtDrmWRPAccess(context) (DwtDrmWRWidgetRec(context)->access)
- #define DwtDrmWRPLock(context) (DwtDrmWRWidgetRec(context)->lock)
- #define DwtDrmWRPType(context) (DwtDrmWRWidgetRec(context)->type)
-
- /*
- * Accessor macros for objects offset from the header. These all return
- * memory pointers which must be correctly CAST
- */
- #define DwtDrmWRPName(context) \
- ((int)DwtDrmWRWidgetRec(context)+ DwtDrmWRWidgetRec(context)->name_offs)
- #define DwtDrmWRPClass(context) \
- ((int)DwtDrmWRWidgetRec(context)+DwtDrmWRWidgetRec(context)->class_offs)
- #define DwtDrmWRPArglist(context) \
- ((int)DwtDrmWRWidgetRec(context)+DwtDrmWRWidgetRec(context)->arglist_offs)
- #define DwtDrmWRPChildren(context) \
- ((int)DwtDrmWRWidgetRec(context)+DwtDrmWRWidgetRec(context)->children_offs)
- #define DwtDrmWRPComment(context) \
- ((int)DwtDrmWRWidgetRec(context)+DwtDrmWRWidgetRec(context)->comment_offs)
- #define DwtDrmWRPCreation(context) \
- ((int)DwtDrmWRWidgetRec(context)DwtDrmWRWidgetRec(context)->creation_offs)
-
-
-
-
- /*
- * value descriptor. This consists of a representation type, followed
- * by a union of either an immediate value or an offset, depending
- * on the representation type.
- */
- typedef struct {
- DRMType rep_type ; /* representation type from
- RGMrType... */
- union {
- int ival ; /* integer, boolean, compressed */
- DRMOffset offset ; /* offset for all others */
- } datum ; /* immediate value or offset */
- } RGMArgValue, *RGMArgValuePtr ;
-
-
- /*
- * RGM widget record argument descriptor
- */
- typedef struct {
- DRMCode tag_code ; /* Either the compressed code for
- the argument tag from DRMc...,
- or DRMcUnknown to indicate no
- known string. If DRMcUnknown, then
- the offset is in tag_off */
- DRMOffset tag_offs ; /* offset to tag string if needed */
- RGMArgValue arg_val ; /* argument value */
- } RGMArgument, *RGMArgumentPtr ;
-
-
- /*
- * RGM widget record arglist descriptor
- */
- typedef struct {
- DRMCount count ; /* number of arguments in list */
- RGMArgument args[1] ; /* first of the argument descriptors */
- } RGMArgListDesc, *RGMArgListDescPtr ;
-
-
-
- /*
- * RGM widget record callback item
- *
- * A callback item is the offset of a routine name (which must be a
- * non-imported string), and the routine tag value, which is encoded
- * as a value. The tag value can evaluate to almost anything, including
- * an imported value.
- *
- * This structure is intended to be over-written with memory pointers
- * and thus function as an arglist value.
- */
- typedef union {
- struct {
- caddr_t pointer ;
- long val ;
- } mem_item ; /* item as pointer & value */
- struct {
- DRMOffset routine ; /* Offset to routine name string */
- RGMArgValue routine_tag ; /* Routine tag value */
- } cb_item ; /* item as routine & tag */
- } RGMCallbackItem, *RGMCallbackItemPtr ;
-
-
- /*
- * RGM widget record callback argument descriptor. This list has
- * count + 1 entries so that this structure may be overwritten
- */
- #define DRMCallbackDescriptorValid 107397480
- typedef struct {
- unsigned validation ; /* DRMCallbackDescriptorValid */
- DRMCount count ; /* Number of callback items */
- RGMCallbackItem item[1] ; /* First callback item in a list
- of n = .count+1 items */
- } RGMCallbackDesc, *RGMCallbackDescPtr ;
-
-
-
- /*
- * RGM widget record text vector item
- *
- * The following represents vectors of either ASCIZ or DDIS text items.
- * each member of the vector is type-tagged so that mixed vectors are possible.
- * This descriptor is a union so that a vector of these items can be over-
- * written to become an in-memory list of pointers. These avoids some
- * allocation problems at widget instantiation.
- */
- typedef union {
- caddr_t pointer ; /* for use as memory pointer */
- struct {
- DRMType rep_type ; /* RGMrTypeChar8 or RGMrTypeDDISitem */
- DRMOffset offset ; /* offset of item in record */
- } text_item ; /* for use as item type & offset */
- } RGMTextEntry, *RGMTextEntryPtr ;
-
-
- /*
- * The text Vector. This is designed to allow the vector of text entries
- * to be over-written into an in-memory vector of pointers. Thus this list
- * has one extra entry to provide a terminating null.
- */
- #define DRMTextVectorValid 34966592
- typedef struct {
- unsigned validation ; /* DRMTextVectorValid */
- DRMCount count ; /* Number of text items in vector */
- RGMTextEntry item[1] ; /* first text item in a vector of
- n = .count+1 items */
- } RGMTextVector, *RGMTextVectorPtr ;
-
-
-
- /*
- * RGM widget record child descriptor
- */
- typedef struct {
- DRMFlag manage ; /* true if child is managed by parent
- at initialization */
- DRMCode access ; /* DRMaPublic or DRMaPrivate */
- DRMCode class ; /* from DRMwc..., or DRMtNul */
- DRMCode type ; /* specifier type - DRMrIndex or
- DRMrRID */
- union {
- int index_offs ; /* index string offset (DRMrIndex) */
- DRMResource_id id ; /* IDB resource id (DRMrRID) */
- } key ; /* key to widget by index or id */
- } RGMChildDesc, *RGMChildDescPtr ;
-
-
- /*
- * RGM widget record children list descriptor
- */
- typedef struct {
- DRMCount count ; /* number of children */
- DRMCode access ; /* Public/private - DRMaPublic or
- DRMaPrivate (i.e. the access value
- for the parent widget) */
- RGMChildDesc child[1] ; /* First child descriptor in a list of
- n = .count descriptors. */
- } RGMChildrenDesc, *RGMChildrenDescPtr ;
-
-
- /*
- * RGM widget record DRM resource descriptor
- */
- typedef struct {
- DRMSize size ; /* number of bytes in structure */
- DRMFlag access ; /* Public/private - DRMaPublic or
- DRMaPrivate for this resource */
- DRMCode type ; /* DRMrIndex or DRMrRID */
- DRMCode res_group ; /* resource group */
- DRMCode res_type ; /* resource type */
- union {
- char index[1] ; /* index for DRMrIndex resource
- (nul teminated) */
- DRMResource_id id ; /* resource id */
- } key ; /* key to resource by index or id */
- } RGMResourceDesc, *RGMResourceDescPtr ;
-
-
-
- /*
- * Interface module descriptor
- *
- * An interface module is currently the only type of resource set defined.
- * It defines the topmost widgets for some application (there is no
- * requirement that there be only one interface module for an application).
- */
-
- /*
- * A topmost widget descriptor. These are currently required to be
- * accessed by index only, and the index is currently the only information
- * saved. The index is stored as a fixed-length entry to simplify the
- * layout of an interface module.
- *
- * The widgets referenced in an interface module are those who have
- * no parent in the interface definition. Commonly these will have
- * the top-level widget as their parent at runtime, but this is not
- * required.
- */
- typedef struct {
- char index[DRMMaxIndexLen1] ;
- /* Index (name) of widget */
- } RGMTopmostDesc, *RGMTopmostDescPtr ;
-
-
- #define DRMInterfaceModuleValid 408427447
- typedef struct {
- unsigned validation ; /* DRMInterfaceModuleValid */
- DRMCount count ; /* number of topmost widgets */
- RGMTopmostDesc topmost[1] ; /* First topmost descriptor in a
- list of n= .count descriptors */
- } RGMModuleDesc, *RGMModuleDescPtr ;
-
-
- /*
- * Validation macro
- */
- #define DwtDrmInterfaceModuleValid(module) \
- ((module)->validation==DRMInterfaceModuleValid)
-
-
-
- /*
- * Definitions of a bitmap corresponding to a RGMrTypeBitmapImage
- * representation. The pointer to the bit vector is used dynamically
- * in the bitmap editor. The immediate vector form is used for disk storage.
- * Both bitmap representations and pixmap representations (TBD) have
- * validation fields, which may be used to distinguish them.
- */
-
- #define DRMBitMapValid 519087610
- typedef struct {
- unsigned validation ; /* DRMBitMapValid */
- int width ; /* # bits wide */
- int height ; /* # bits high */
- int hot_x, hot_y ; /* location of hot spot */
- char *bit_ptr ; /* pointer to bits. For images
- read from disk, this is bit_vec */
- char bit_vec[1] ; /* First byte in bitmap. (for disk) */
- } DRMBitMap, *DRMBitMapPtr ;
-
-
-
- /*
- * Definitions for the widget class information retrieval package
- */
-
- /*
- * Widget class argument descriptor
- *
- * An argument descriptor holds the information required for
- * a single argument descriptor for some widget class. Any string
- * referenced in this and the class descriptor is either allocated
- * with DwtDrm__UT_Malloc(size,DRMcMiscZone), or is a pointer returned
- * by DwtDrm_CompressString.
- */
-
-
- /*
- * An argument id is the index of the argument's descriptor in the vector
- * of descriptors attaced to a class.
- */
- typedef unsigned short int WCIArgId ;
-
-
- /*
- * An argument may have permissible values specified as:
- * a range of integer values
- * a range of floating point values
- * an enumerated set of strings and matching codes
- * no specification of permissible values
- *
- * Exactly one of the four cases applies, as defined by the codes below.
- */
- #define WCIvtMin 1
- #define WCIvtUnspecified 1 /* no value specification */
- #define WCIvtIntegerRange 2 /* value is integer range */
- #define WCIvtFloatRange 3 /* value is floating point range */
- #define WCIvtEnum 4 /* value is ENUM of strings/codes */
- #define WCIvtMax 4
-
- typedef struct {
- WCIArgId my_id ; /* Argid of this entry */
- DRMCode tag_code ; /* Compressed code for argument tag.
- DRMcUnknown if not compressible */
- String tag_name ; /* Uncompressed string for tag. If
- the tag can be compressed, this
- is the pointer returned by
- DwtDrm_CompressString. Else it
- as an allocated string copied from
- the class record. */
- DRMType if_group ; /* logical group for interface,
- from DRMifr... */
- WCIArgId rel_id ; /* pointer to related arg */
- String res_type ; /* resource type from class record */
- String res_class ; /* resource class from class record */
- DRMCode cvt_code ; /* destination type for conversions,
- from DRMcd... */
- DRMCode editor_type ; /* editor used to edit this argument's
- value in DWICS, from DRMet... */
- DRMCode rep_type ; /* DRM representation for value,
- from RGMrType... */
- DRMFlag set_value ; /* TRUE if DWICS should SetValues this
- argument on user modification */
- String prompt ; /* Allocated prompt string from
- class record */
- DRMCode value_type ; /* from WCIvt... */
- DRMFlag cant_set ; /* if TRUE, then this field can't be
- interactively modified from a
- DWICS editor */
- DRMFlag recreate_wid ; /* if TRUE, then modification of this
- field will require a destroy/
- recreate of the widget instance */
- union {
- struct {
- long int min_ival ; /* minimum integer value */
- long int max_ival ; /* maximum integer value */
- } int_range ; /* Integer range - WCIvtIntegerRange*/
- struct {
- double min_fval ; /* minimum floating value */
- double max_fval ; /* maximum floating value */
- } float_range ; /* float range - WCIvtFloatRange */
- struct {
- DRMCount count ; /* # entries in ENUM set */
- String *strings ; /* list of strings in ENUM set */
- DRMCount *codes ; /* list of matching codes */
- } enum_set ; /* ENUM set - WCIvtEnum */
- } permit_values ; /* permitted values */
- } WCIArgDesc, *WCIArgDescPtr ;
-
-
- /*
- * Accessors for the fields of an argument descriptor. All take a pointer
- * to a class descriptor and the argument id (index).
- */
- #define WciArgnMyId(cld,argid) ((cld)->arg_list[(argid)].my_id)
- #define WciArgnTagCode(cld,argid) ((cld)->arg_list[(argid)].tag_code)
- #define WciArgnTagName(cld,argid) ((cld)->arg_list[(argid)].tag_name)
- #define WciArgnIfGroup(cld,argid) ((cld)->arg_list[(argid)].if_group)
- #define WciArgnRelId(cld,argid) ((cld)->arg_list[(argid)].rel_id)
- #define WciArgnResType(cld,argid) ((cld)->arg_list[(argid)].res_type)
- #define WciArgnResClass(cld,argid) ((cld)->arg_list[(argid)].res_class)
- #define WciArgnCvtCode(cld,argid) ((cld)->arg_list[(argid)].cvt_code)
- #define WciArgnEdType(cld,argid) ((cld)->arg_list[(argid)].editor_type)
- #define WciArgnRepType(cld,argid) ((cld)->arg_list[(argid)].rep_type)
- #define WciArgnSetValue(cld,argid) ((cld)->arg_list[(argid)].set_value)
- #define WciArgnPrompt(cld,argid) ((cld)->arg_list[(argid)].prompt)
- #define WciArgnValType(cld,argid) ((cld)->arg_list[(argid)].value_type)
- #define WciArgnCantSet(cld,argid) ((cld)->arg_list[(argid)].cant_set)
- #define WciARgnMustRecreate(cld,argid) ((cld)->arg_list[(argid)].recreate_wid)
- #define WciArgnMinIval(cld,argid) \
- ((cld)->arg_list[(argid)].permit_values.int_range.min_ival)
- #define WciArgnMaxIval(cld,argid) \
- ((cld)->arg_list[(argid)].permit_values.int_range.max_ival)
- #define WciArgnMinFval(cld,argid) \
- ((cld)->arg_list[(argid)].permit_values.fl_range.min_fval)
- #define WciArgnMaxFval(cld,argid) \
- ((cld)->arg_list[(argid)].permit_values.fl_range.max_fval)
- #define WciArgnEnumCount(cld,argid) \
- ((cld)->arg_list[(argid)].permit_values.enum_set.count)
- #define WciArgnEnumStrings(cld,argid) \
- ((cld)->arg_list[(argid)].permit_values.enum_set.strings)
- #define WciArgnEnumCodes(cld,argid) \
- ((cld)->arg_list[(argid)].permit_values.enum_set.codes)
-
-
-
- /*
- * Literal sets referenced in the widget class argument descriptor
- */
-
-
- /*
- * Destination types for conversions. These usually specify the conversion
- * of a string (or DDIS?) into an X object.
- */
- #define DRMcdMin 1
- #define DRMcdNone 1 /* no conversion */
- #define DRMcdColor 2 /* string to color */
- #define DRMcdFont 3 /* string to font */
- #define DRMcdPixmap 4 /* something to pixmap */
- #define DRMcdAddrName 5 /* string to address */
- #define DRMcdClassRec 6 /* string to class record pointer */
- #define DRMcdTranslate 7 /* string to translation table */
- #define DRMcdPixel 8 /* string to pixel */
- #define DRMcdMax 8
-
-
- /*
- * DWICS editor types. Each specifies a specific editor, and expects a
- * specific representation for the value.
- */
- #define DRMetMin 1
- #define DRMetFallback 1 /* can't handle value, use string */
- #define DRMetInteger 2 /* integer editor, handles range */
- #define DRMetBoolean 3 /* boolean values editor */
- #define DRMetString 4 /* text string, handles range */
- #define DRMetCallback 5 /* handles callback specifiers */
- #define DRMetTranslate 6 /* handles translation tables */
- #define DRMetPixmap 7 /* pixmap/bitmap editor */
- #define DRMetStringVec 8 /* string array editor */
- #define DRMetWidgetPtr 9 /* widget pointer editor */
- #define DRMetMenuEntry 10 /* menu entry editor */
- #define DRMetEnumerated 11 /* enumerated set, Enum... values */
- #define DRMetMax 11
-
-
- /*
- * Logical groups for interface. These determine how resources are clustered
- * in editor interfaces for modifying widgets in a given class.
- */
- #define DRMifrNull 0
-
-
-
-
- /*
- * Widget class descriptor
- *
- * A widget class descriptor retains information about a widget class.
- * This includes the low-level creation routine for the class, and
- * a vector of argument descriptors.
- */
- #define DRMWCIClassDescValid 39963371
- typedef struct _WCIClassDesc {
- unsigned validation ; /* DRMWCIClassDescValid */
- struct _WCIClassDesc *next_desc ;
- /* next descriptor in chain of
- descriptors for this class code */
- DRMType type ; /* From DRMwc... */
- WidgetClass class_record ; /* class record */
- DRMType if_group ; /* logical group for interface,
- from DRMifc... */
- String class_name ; /* Class name for display purposes */
- String clrec_name ; /* Class name in class record */
- Widget (*creator) () ; /* low-level create routine. This is
- also the class identifier (name)
- used to match user classes. */
- String creator_name ; /* create routine name. This is also
- the accessor key for non-toolkit
- widget classes. */
- String dflt_trans ; /* Default translation table from
- class record */
- DRMCount num_args ; /* number of args for class */
- WCIArgDesc *arg_list ; /* vector of argument descriptors */
- WCIArgId *argids ; /* To quickly get argid for DRMc... */
- } WCIClassDesc, *WCIClassDescPtr ;
-
-
- /*
- * Initialize levels for WCI class descriptors
- */
- #define DRMwciUserLevel 1 /* user/application code only */
- #define DRMwciDWICSLevel 2 /* DWICS level (more info) */
-
-
- /*
- * Callback routine to name reference vector
- *
- * A callback reference structure preserves a vector of callback routine
- * names and their corresponding addresses. The structure consists of
- * a vector of name/address pairs, where each name is a pointer to a string
- * allocated in a heap following the vector. The structure is marked to
- * indicate whether or not the names are in ascending lexicographic order,
- * suitable for binary search.
- */
-
- typedef struct {
- String rtn_name ; /* the callback routine name */
- caddr_t rtn_addr ; /* the callback routine address */
- } WCICallbackRef, *WCICallbackRefPtr ;
-
- typedef struct {
- DRMCount count ; /* number of entries in vector */
- DRMCode ordered ; /* TRUE if ordered, else FALSE */
- WCICallbackRef rtnvec[1] ; /* first of n=.count vector items.
- The name heap follows the vector */
- } WCICallbackList, *WCICallbackListPtr ;
-
-
-
- /*
- * Literal definitions associated with class descriptors
- *
- * Logical interface groups used to cluster classes for interfaces
- */
- #define DRMifcNull 0
-
-
- /*
- * WCI codes for resource types (used to improve search times)
- */
- #define WCIrtMin 1
- #define WCIrtInt 1 /* XtRInt */
- #define WCIrtOrientation 2 /* DwtROrientation */
- #define WCIrtTranslationTable 3 /* DwtRTranslationTable */
- #define WCIrtAlignment 4 /* DwtRAlignment */
- #define WCIrtMenuPacking 5 /* DwtRMenuPacking */
- #define WCIrtWindow 6 /* XtRWindow */
- #define WCIrtMenuWidget 7 /* DwtRMenuWidget */
- #define WCIrtString 8 /* XtRString */
- #define WCIrtPixmap 9 /* XtRPixmap */
- #define WCIrtBoolean 10 /* XtRBoolean */
- #define WCIrtFontStruct 11 /* XtRFontStruct */
- #define WCIrtColor 12 /* XtRColor */
- #define WCIrtLabelType 13 /* DwtRLabelType */
- #define WCIrtMenuType 14 /* DwtRMenuType */
- #define WCIrtPointer 15 /* XtRPointer */
- #define WCIrtPixel 16 /* XtRPixel */
- #define WCIrtMax 16
-
- /*
- * WCI codes for resource classes (used to improve search times)
- */
- #define WCIrcMin 1
- #define WCIrcOrientation 1 /* DwtCOrientation */
- #define WCIrcMenuEntryClass 2 /* DwtCMenuEntryClass */
- #define WCIrcLabelType 3 /* DwtCLabelType */
- #define WCIrcSystemPreference 4 /* DwtCSystemPreference */
- #define WCIrcDefaultPushbutton 5 /* DwtCDefaultPushbutton */
- #define WCIrcShape 6 /* DwtCShape */
- #define WCIrcUnits 7 /* DwtCUnits */
- #define WCIrcStyle 8 /* DwtCStyle */
- #define WCIrcCallback 9 /* XtCCallback */
- #define WCIrcDefaultPosition 10 /* DwtCDefaultPosition */
- #define WCIrcVisibleWhenOff 11 /* DwtCVisibleWhenOff */
- #define WCIrcMenuRadio 12 /* DwtCMenuRadio */
- #define WCIrcMenuIsHomogeneous 13 /* DwtCMenuIsHomogeneous */
- #define WCIrcRadioAlwaysOne 14 /* DwtCRadioAlwaysOne */
- #define WCIrcAdjustMargin 15 /* DwtCAdjustMargin */
- #define WCIrcMenuAlignment 16 /* DwtCMenuAlignment */
- #define WCIrcPropagateColors 17 /* DwtCPropagateColors */
- #define WCIrcAutoUnmanage 18 /* DwtCAutoUnmanage */
- #define WCIrcHelpIcon 19 /* DwtCHelpIcon */
- #define WCIrcItems 20 /* DwtCItems */
- #define WCIrcSelectedItems 21 /* DwtCSelectedItems */
- #define WCIrcMax 21
-
-
-
- /*
- * Definitions for message resources
- *
- * The following defines the basic data structure which represents all
- * message stored in the DRmgMessage group. All messages have a standard
- * header, which provides:
- * o The severity level
- * o the representation type
- *
- * Then there is a representation of the actual message.
- *
- * There is currently just one message type, RGMmtType1
- */
-
- /*
- * message header
- */
- #define DRMMessageValid 416604345
- typedef struct {
- unsigned validation ; /* DRMMessageValid */
- DRMCode severity ; /* severity level, RGMms... */
- DRMCode rep_type ; /* representation type, from
- RGMrType... */
- DRMSize size ; /* # bytes in message */
- } RGMMessageHeader, *RGMMessageHeaderPtr ;
-
- /*
- * message body
- */
- typedef struct {
- RGMMessageHeader msg_hdr ; /* message header */
- char msg_buf[1] ; /* buffer for message */
- } RGMMessageT1, *RGMMessageT1Ptr ;
-
- /*
- * Accessors for parts of a message. All take a pointer to a T1 message.
- */
- #define DwtDrmMessageT1Severity(msg) ((msg)->msg_hdr.severity)
- #define DwtDrmMessageT1RepType(msg) ((msg)->msg_hdr.rep_type)
- #define DwtDrmMessageT1MsgBuf(msg) ((msg)->msg_buf)
-
-
-
- /*
- * Function prototypes for DRM routines
- */
-
-
- /*
- * Defined in DWTDRMVM.c
- */
- extern int DwtDrm__UT_VMInit () ;
- extern caddr_t DwtDrm__UT_Malloc () ;
- extern caddr_t DwtDrm__UT_Calloc () ;
- extern int DwtDrm__UT_Free () ;
- extern int DwtDrm__UT_Cfree () ;
- extern int DwtDrm__UT_VMEnd () ;
- extern caddr_t DwtDrm__UT_Sdesc_Null () ;
- extern int DwtDrm__UT_Null_Free () ;
- extern String DwtDrm__UT_AllocString () ;
- extern caddr_t DwtDrm__UT_AllocThing () ;
- extern int DwtDrm__UT_FreeThing () ;
-
-
- /*
- * Defined in DRMCONTEXT.c
- */
- extern Cardinal DwtDrmGetResourceContext () ;
- extern Cardinal DwtDrmResizeResourceContext () ;
- extern Cardinal DwtDrmFreeResourceContext () ;
- extern char *DwtDrm__DefaultMalloc () ;
- extern Cardinal DwtDrm__DefaultFree () ;
-
- /*
- * Defined in DRMPTRLIST.c
- */
- extern Cardinal DwtDrmPlistInit () ;
- extern Cardinal DwtDrmPlistResize () ;
- extern Cardinal DwtDrmPlistFree () ;
- extern Cardinal DwtDrmPlistFreeContents () ;
- extern Cardinal DwtDrmPlistAppendPointer () ;
- extern Cardinal DwtDrmPlistAppendString () ;
- extern DRMCount DwtDrmPlistFindString () ;
-
- /*
- * Defined in DRMERROR.c
- */
- extern Cardinal DwtDrm__UT_SignalError () ;
- extern Cardinal DwtDrm__UT_SetErrorReport () ;
- extern DRMCode DwtDrm__UT_LatestErrorCode () ;
- extern String DwtDrm__UT_LatestErrorMessage () ;
-
- /*
- * Defined in DWTDRMTIME.c
- */
- extern void DwtDrm__UT_Time () ;
- extern void DwtDrm__PTIME_TimingMark () ;
- extern void DwtDrm__PTIME_ReportTiming () ;
-
- /*
- * Defined in DRMAPPL.c
- */
- extern void DwtInitializeDRM () ;
- extern Cardinal DwtOpenHierarchy () ;
- extern Cardinal DwtCloseHierarchy () ;
- extern Cardinal DwtRegisterClass () ;
- extern Cardinal DwtRegisterDRMCallbacks () ;
- extern Cardinal DwtFetchInterfaceModule () ;
- extern Cardinal DwtFetchWidget () ;
- extern Cardinal DwtFetchWidgetOverride () ;
-
- /*
- * Defined in DRMWIDGET_READ.c
- */
- extern Cardinal DwtDrmHGetWidget () ;
- extern Cardinal DwtDrmGetIndexedWidget () ;
- extern Cardinal DwtDrmGetRIDWidget () ;
-
- /*
- * Defined in DRMWIDGET_CREATE.c
- */
- extern Cardinal DwtDrmCreateWidgetTree () ;
- extern Cardinal DwtDrmCreateWidgetInstance () ;
- extern Cardinal DwtDrm__CreateArglist () ;
- extern void DwtDrm__EvaluateValue () ;
- extern void DwtDrm__FixupCallback () ;
- extern void DwtDrm__EvaluateResource () ;
-
- /*
- * Defined in DRMWIDGET_CWR.c
- */
- extern Cardinal DwtDrmCWRInit () ;
- extern Cardinal DwtDrmCWRSetClass () ;
- extern Cardinal DwtDrmCWRInitArglist () ;
- extern Cardinal DwtDrmCWRSetCompressedArgTag () ;
- extern Cardinal DwtDrmCWRSetUncompressedArgTag () ;
- extern Cardinal DwtDrmCWRSetArgValue () ;
- extern Cardinal DwtDrmCWRSetArgResourceRef () ;
- extern Cardinal DwtDrmCWRSetArgChar8Vec () ;
- extern Cardinal DwtDrmCWRSetArgDDISVec () ;
- extern Cardinal DwtDrmCWRSetArgCallback () ;
- extern Cardinal DwtDrmCWRSetCallbackItem () ;
- extern Cardinal DwtDrmCWRSetCallbackItemRes () ;
- extern Cardinal DwtDrmCWRInitChildren () ;
- extern Cardinal DwtDrmCWRSetChild () ;
- extern Cardinal DwtDrmCWRSetComment () ;
- extern Cardinal DwtDrmCWRSetCreationCallback () ;
- extern Cardinal DwtDrmCWR__AppendString () ;
- extern Cardinal DwtDrmCWR__AppendDDIS () ;
- extern Cardinal DwtDrmCWR__GuaranteeSpace () ;
- extern Cardinal DwtDrmCWR__AppendResource () ;
-
- /*
- * Defined in DRMWIDGET_WRITE.c
- */
- extern Cardinal DwtDrmPutIndexedWidget () ;
- extern Cardinal DwtDrmPutRIDWidget () ;
-
- /*
- * Defined in DRMHIERARCHY.c
- */
- extern Cardinal DwtDrm__OpenHierarchy () ;
- extern Cardinal DwtDrm__CloseHierarchy () ;
- extern Cardinal DwtDrmHGetIndexedResource () ;
-
- /*
- * Defined in DRMCOMPRESS.c
- */
- extern DRMType DwtDrm_CompressString () ;
- extern Cardinal DwtDrm_UncompressString () ;
-
-
- /*
- * Defined in DRMIFMODULE.c
- */
- extern Cardinal DwtDrmIFMInitModule () ;
- extern Cardinal DwtDrmIFMSetTopmost () ;
- extern Cardinal DwtDrmIFMPutModule () ;
- extern Cardinal DwtDrmIFMHGetModule () ;
- extern Cardinal DwtDrmIFMGetModule () ;
-
- /*
- * Defined in DRMWIDGET_WCI.c
- */
- extern Cardinal DwtDrm__WCI_RegisterClass () ;
- extern Cardinal DwtDrm__WCI_RegisterCallbacks () ;
- extern Cardinal DwtDrm__WCI_GetClassDescriptor () ;
- extern Cardinal DwtDrm__WCI_GetArgDescriptor () ;
- extern WidgetClass DwtDrm__WCI_GetClRecOfName () ;
- extern String DwtDrm__WCI_GetNameOfClRec () ;
- extern Cardinal DwtDrm__WCI_GetDRMCallback () ;
- extern DRMCode DwtDrm__UT_FindOrderedString () ;
-
- /*
- * Defined in DRMWIDGET_DUMP.c
- */
- extern Cardinal DwtDrm__DumpInterfaceFile () ;
- extern Cardinal DwtDrm__DumpInterfaceModule () ;
- extern Cardinal DwtDrm__DumpWidgetTree () ;
- extern Cardinal DwtDrm__TypeWidgetRecord () ;
- extern Cardinal DwtDrm__DumpWidgetRecord () ;
-
- /*
- * Defined in DRMLITERAL*.c
- */
- extern Cardinal DwtDrmPutIndexedInteger () ;
- extern Cardinal DwtDrmPutRIDInteger () ;
- extern Cardinal DwtDrmPutIndexedBoolean () ;
- extern Cardinal DwtDrmPutRIDBoolean () ;
- extern Cardinal DwtDrmPutIndexed8Bit () ;
- extern Cardinal DwtDrmPutRID8Bit () ;
- extern Cardinal DwtDrmPutIndexed8BitVec () ;
- extern Cardinal DwtDrmPutRID8BitVec () ;
- extern Cardinal DwtDrmPutIndexedDDISitem () ;
- extern Cardinal DwtDrmPutRIDDDISitem () ;
- extern Cardinal DwtDrmPutIndexedDDISitemVec () ;
- extern Cardinal DwtDrmPutRIDDDISitemVec () ;
- extern Cardinal DwtDrmPutIndexedFloat () ;
- extern Cardinal DwtDrmPutRIDFloat () ;
- extern Cardinal DwtDrmPutIndexedPixmapImage () ;
- extern Cardinal DwtDrmPutRIDPixmapImage () ;
- extern Cardinal DwtDrmPutIndexedPixmapDDIF () ;
- extern Cardinal DwtDrmPutRIDPixmapDDIF () ;
- extern Cardinal DwtDrmPutIndexedLiteral () ;
- extern Cardinal DwtDrmPutRIDLiteral () ;
- extern Cardinal DwtDrmHGetIndexedLiteral () ;
- extern Cardinal DwtDrmGetIndexedLiteral () ;
- extern Cardinal DwtDrmGetRIDLiteral () ;
-
- /*
- * Functions defined in DRMMESSAGE.c
- */
- extern Cardinal DwtDrmCMSInit () ;
- extern Cardinal DwtDrmCMSSetMsgValue () ;
- extern Cardinal DwtDrmPutIndexedMessage () ;
- extern Cardinal DwtDrmHGetIndexedMessage () ;
- extern Cardinal DwtDrmGetIndexedMessage () ;
-
- /*
- * Functions defined in DRMBITMAPIMAGE.c
- */
- extern Pixmap DwtDrmCreatePixmap () ;
- extern DRMBitMapPtr DwtDrmCopyBitmap () ;
- extern DRMBitMapPtr DwtDrmCopyAllocatedBitmap () ;
- extern Pixel DwtDrm__UT_GetNamedColorPixel () ;
- extern Cardinal DwtDrmBitmapSize () ;
-
-
- /*
- * Functions defined in IDBTOPLEVEL.c
- */
- extern Cardinal DwtIdbOpenFileRead () ;
- extern Cardinal DwtIdbOpenFileWrite () ;
- extern Cardinal DwtIdbCloseFile () ;
- extern Cardinal DwtIdbPutIndexedResource () ;
- extern Cardinal DwtIdbGetIndexedResource () ;
- extern Cardinal DwtIdbFindIndexedResource () ;
- extern Cardinal DwtIdbPutRIDResource () ;
- extern Cardinal DwtIdbGetRIDResource () ;
- extern Cardinal DwtIdbGetResourceID () ;
- extern Cardinal DwtIdb__FIL_Valid () ;
-
- /*
- * Defined in DRMWIDGET_WCI_DUMP.c
- */
- extern void DwtDrm__WCI_DumpWCI () ;
- extern void DwtDrm__WCI_DumpClass () ;
- extern void DwtDrm__WCI_DumpArgument () ;
- /* DEC/CMS REPLACEMENT HISTORY, Element DECWDRM.H*/
- /* *39 22-FEB-1988 17:37:59 FANEUF "firewall #define externaldef"*/
- /* *38 21-FEB-1988 15:13:12 FANEUF "Update to latest version of DwtC.., new WCI fields"*/
- /* *37 19-FEB-1988 12:57:55 FANEUF "general upgrade for DWICS integration"*/
- /* *36 19-JAN-1988 16:22:06 FANEUF "Add DwtDrmRCSetErrRpt"*/
- /* *35 18-JAN-1988 17:35:14 FANEUF "ULTRIX compatibility update"*/
- /* *34 11-JAN-1988 17:31:00 FANEUF "Add date string sizing (DRMhsDate)"*/
- /* *33 11-JAN-1988 11:00:51 FANEUF "Added message group support"*/
- /* *32 7-JAN-1988 16:45:45 FANEUF "Conform to toolkit #include standards"*/
- /* *31 5-JAN-1988 22:24:05 FANEUF "CREATE implementation complete"*/
- /* *30 5-JAN-1988 12:56:26 FANEUF "Revised IDB open file, pointer lists, various other"*/
- /* *29 30-DEC-1987 23:18:40 FANEUF "Ready to complete create"*/
- /* *28 30-DEC-1987 15:20:45 FANEUF "Added WCI support"*/
- /* *27 30-DEC-1987 15:07:53 FANEUF "Added WCI support"*/
- /* *26 29-DEC-1987 22:40:33 MULLEN "Added OS specific open parameter structure"*/
- /* *25 29-DEC-1987 15:40:16 FANEUF "Naming conventions update"*/
- /* *24 29-DEC-1987 11:28:27 FANEUF ".h restructure complete"*/
- /* *23 28-DEC-1987 22:19:05 FANEUF "Initial implementation of CWR complete"*/
- /* *22 28-DEC-1987 16:49:25 FANEUF "Restore WR resource descriptor"*/
- /* *21 28-DEC-1987 13:09:55 FANEUF "CWR development"*/
- /* *20 24-DEC-1987 10:40:19 FANEUF "widget build implemented"*/
- /* *19 23-DEC-1987 14:18:38 FANEUF "To install latest values for UIL compiler"*/
- /* *18 21-DEC-1987 13:11:33 FANEUF "New codes, minor changes during IDB debugging"*/
- /* *17 17-DEC-1987 00:09:26 FANEUF "Debugging continues..."*/
- /* *16 16-DEC-1987 14:24:18 FANEUF "Fixed IDBFile defn"*/
- /* *15 16-DEC-1987 13:56:35 MULLEN "Minor macro fix"*/
- /* *14 16-DEC-1987 13:46:06 FANEUF "Error prototypes added, IDBFile defined"*/
- /* *13 16-DEC-1987 11:21:21 FANEUF "New values for return codes"*/
- /* *12 15-DEC-1987 20:22:04 FANEUF "Improve context accessors, add context mgt prototypes"*/
- /* *11 15-DEC-1987 18:05:09 FANEUF "Improved context access/set macros"*/
- /* *10 14-DEC-1987 21:37:15 FANEUF "More return codes, MAX, MIN"*/
- /* *9 14-DEC-1987 09:05:16 FANEUF "More return codes"*/
- /* *8 11-DEC-1987 15:56:24 FANEUF "Redefine groups and other format changes"*/
- /* *7 11-DEC-1987 14:41:15 FANEUF "Changed zone literal names"*/
- /* *6 11-DEC-1987 10:52:03 MULLEN "Make ZONE ID constants."*/
- /* *5 10-DEC-1987 15:27:51 MULLEN "Add memory ulitity zone id externals"*/
- /* *4 10-DEC-1987 15:01:22 FANEUF ""*/
- /* *3 10-DEC-1987 09:33:13 MULLEN "Add in RAF's edit. Redo DRMReadAccess change."*/
- /* *2 8-DEC-1987 12:16:55 MULLEN "Change DRMReadAccess"*/
- /* *1 8-DEC-1987 10:17:36 MULLEN "Initial entry"*/
- /* DEC/CMS REPLACEMENT HISTORY, Element DECWDRM.H*/
-